home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
gui
/
muibuilderv11.lha
/
muibuilder
/
mb
/
asm
/
frq.asm
< prev
next >
Wrap
Assembly Source File
|
1994-03-15
|
8KB
|
364 lines
include ssmac.h
include values/mui.gs
include libraries/mui_asm.i
include libraries/mui_lib.i
MR EQUR a4
DEBUG equ 1
start
CALLINT macro
call intuition,\1
endm
dv.l errsp
dv.l store
dv.l store2
dbuf buf2,256
put.l a7,errsp
bsr InitGUI
DoMethod WI_label_0,#MUIM_Notify,#MUIA_Window_CloseRequest,#TRUE,app,#2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
DoMethod BT_label_1,#MUIM_Notify,#MUIA_Pressed,#TRUE,app,#2,#MUIM_Application_ReturnID,#MUIV_Application_ReturnID_Quit
DoMethod LV_label_0,#MUIM_Notify,#MUIA_Listview_DoubleClick,#MUIV_EveryTime,app,#2,#MUIM_Application_ReturnID,#1
DoMethod LV_label_0,#MUIM_Notify,#MUIA_List_Active,#MUIV_EveryTime,app,#3,#MUIM_CallHook,#hook_filesel_str,a5
DoMethod LV_label_1,#MUIM_Notify,#MUIA_List_Active,#MUIV_EveryTime,app,#3,#MUIM_CallHook,#hook_volsel_str,a5
DoMethod STR_label_0,#MUIM_Notify,#MUIA_String_Acknowledge,#MUIV_EveryTime,app,#3,#MUIM_CallHook,#hook_dir_str,a5
DoMethod STR_label_1,#MUIM_Notify,#MUIA_String_Acknowledge,#MUIV_EveryTime,app,#2,#MUIM_Application_ReturnID,#1
DoMethod BT_label_2,#MUIM_Notify,#MUIA_Pressed,#TRUE,app,#3,#MUIM_CallHook,#hook_parent_str,a5
DoMethod BT_label_0,#MUIM_Notify,#MUIA_Pressed,#TRUE,app,#2,#MUIM_Application_ReturnID,#1
seti WI_label_0,#MUIA_Window_Open,#TRUE
1$ DoMethod app,#MUIM_Application_Input,#signal
tst.l d0
bne.s 2$
move.l signal(pc),d0
call exec,Wait
bra.s 1$
2$ moveq #1,d1
cmp.l d1,d0
beq.s end
cmp.l #MUIV_Application_ReturnID_Quit,d0
bne.s 1$
no_file err <You didn''t choose any file>
rts
end geta store,a1
geti STR_label_0,#MUIA_String_Contents,a1
geta store2,a1
geti STR_label_1,#MUIA_String_Contents,a1
get.l store2,a0
tst.b (a0)
beq.s no_file
get.l store,a0
geta buf2,a1
tst.b (a0)
beq.s 2$
1$ move.b (a0)+,(a1)+
bne.s 1$
subq.l #2,a1
cmp.b #'/',(a1)
beq.s 2$
cmp.b #':',(a1)+
beq.s 2$
move.b #'/',(a1)+
clr.b (a1)
2$ push store2(v)
pea buf2(v)
dtl <You choosed file ''%s%s''.',10,'>,a0
move.l a0,d1
move.l a7,d2
call dos,VPrintf
addq.l #8,a7
rts
hook_parent_str dc.l 0
dc.l 0
dc.l hook_parent
dc.l hook_parent
dc.l 0
hook_parent mpush a5/a6
move.l (a1),a5
geta store,a1
geti STR_label_0,#MUIA_String_Contents,a1
get.l store,a0
geta buf2,a1
moveq #0,d1
1$ move.b (a0),(a1)+
move.b (a0)+,d0
beq.s 2$
cmp.b #':',d0
bne.s 3$
move.l a1,d1
bra.s 1$
3$ cmp.b #'/',d0
bne.s 1$
tst.b (a0)
beq.s 2$
move.l a1,d1
subq.l #1,d1
bra.s 1$
2$ tst.l d1
beq ret
move.l d1,a0
clr.b (a0)
geta buf2,a0
seti STR_label_0,#MUIA_String_Contents,a0
bra refrdir
hook_dir_str dc.l 0
dc.l 0
dc.l hook_dir
dc.l hook_dir
dc.l 0
hook_dir mpush a5/a6
move.l (a1),a5
geta store,a1
geti STR_label_0,#MUIA_String_Contents,a1
bra refrdir
hook_volsel_str dc.l 0
dc.l 0
dc.l hook_volsel
dc.l hook_volsel
dc.l 0
hook_volsel mpush a5/a6
move.l (a1),a5
geta store,a0
DoMethod LV_label_1,#MUIM_List_GetEntry,#MUIV_List_GetEntry_Active,a0
get.l store,a0
seti STR_label_0,#MUIA_String_Contents,a0
bra refrdir
hook_filesel_str dc.l 0
dc.l 0
dc.l hook_filesel
dc.l hook_filesel
dc.l 0
hook_filesel mpush a5/a6
move.l (a1),a5
geta store,a0
DoMethod LV_label_0,#MUIM_List_GetEntry,#MUIV_List_GetEntry_Active,a0
get.l store,a0
move.l 4(a0),d0
addq.l #8,a0
bpl.s fs_newdir
seti STR_label_1,#MUIA_String_Contents,a0
ret mpop a5/a6
rts
fs_newdir push a0
geta store,a1
geti STR_label_0,#MUIA_String_Contents,a1
geta buf2,a1
get.l store,a0
moveq #':',d0
1$ tst.b (a0)
beq.s 2$
move.b (a0),d0
move.b (a0)+,(a1)+
bra.s 1$
2$ cmp.b #':',d0
beq.s 3$
cmp.b #'/',d0
beq.s 3$
move.b #'/',(a1)+
3$ pop a0
4$ move.b (a0)+,(a1)+
bne.s 4$
subq.l #2,a1
cmp.b #'/',(a1)
bne.s 5$
clr.b (a1)
5$ geta buf2,a0
seti STR_label_0,#MUIA_String_Contents,a0
refrdir get.l store,a0
seti LV_label_0,#MUIA_Dirlist_Directory,a0
mpop a5/a6
rts
cleanup move.l app(pc),d0
beq.s 1$
move.l d0,a0
call muimaster,MUI_DisposeObject
1$ rts
_DoMethod push a2
move.l 8(a7),a2
move.l a2,d0
beq.s 1$
lea 12(a7),a1
move.l -4(a2),a0
move.l 8(a0),a6
jsr (a6)
pop a2
rts
1$ moveq #0,d0
pop a2
rts
signal ds.l 1
InitGUI mpush a2/d7
move.l a7,d7
lea object_tags(pc),a2
1$ tst.l (a2)
beq.s 2$
move.l #$8FFFFFFF,d0
lea 8(a2),a0
moveq #0,d1
3$ tst.l (a0)
beq.s 4$
cmp.l (a0),d0
bne.s 5$
addq.l #4,d1
5$ addq.l #8,a0
bra.s 3$
4$ tst.l d1
beq.s 10$
lea 8(a2),a0
lea (a7,d1.l),a1
push a1
7$ tst.l (a0)
beq.s 8$
cmp.l (a0),d0
bne.s 9$
move.l 4(a0),(a0)+
move.l -(a1),(a0)+
bra.s 7$
9$ addq.l #8,a0
bra.s 7$
8$ pop a7
10$ push a0
move.l (a2),a0
move.l (a0),a0
lea 8(a2),a1
call muimaster,MUI_NewObjectA
move.l 4(a2),a0
move.l a0,d1
beq.s 11$
move.l d0,(a0)
11$ pop a2
tst.l d0
beq.s 12$
push d0
addq.l #4,a2
bra.s 1$
2$ move.l d7,a7
13$ mpop a2/d7
rts
12$ moveq #0,d0
cmp.l d7,a7
beq.s 13$
pop a0
call muimaster,MUI_DisposeObject
bra.s 12$
object_tags dc.l MUIC_Dirlist,0,MUIA_Frame,MUIV_Frame_InputList,MUIA_Dirlist_Directory,str9,MUIA_Dirlist_DrawersOnly,0,MUIA_Dirlist_FilesOnly,0,MUIA_Dirlist_FilterDrawers,0
dc.l MUIA_Dirlist_MultiSelDirs,0,MUIA_Dirlist_RejectIcons,0,MUIA_Dirlist_SortDirs,MUIV_Dirlist_SortDirs_First,MUIA_Dirlist_SortHighLow,0,MUIA_Dirlist_SortType,0
dc.l 0
dc.l MUIC_Listview,LV_label_0,MUIA_Weight,300,$8FFFFFFF,MUIA_Listview_List,0
dc.l MUIC_Volumelist,0,MUIA_Frame,MUIV_Frame_InputList,0
dc.l MUIC_Listview,LV_label_1,$8FFFFFFF,MUIA_Listview_List,0
dc.l MUIC_Group,0,MUIA_Group_Horiz,1,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,0
dc.l MUIC_Text,0,MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,str10,MUIA_Weight,0,MUIA_InnerLeft,0
dc.l MUIA_InnerRight,0,MUIA_Frame,MUIV_Frame_String,MUIA_FramePhantomHoriz,1,0
dc.l MUIC_String,STR_label_0,MUIA_Frame,MUIV_Frame_String,MUIA_String_Format,0,0
dc.l MUIC_Group,0,MUIA_Group_Columns,2,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,0
dc.l MUIC_Text,0,MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,str11,MUIA_Weight,0,MUIA_InnerLeft,0
dc.l MUIA_InnerRight,0,MUIA_Frame,MUIV_Frame_String,MUIA_FramePhantomHoriz,1,0
dc.l MUIC_String,STR_label_1,MUIA_Frame,MUIV_Frame_String,MUIA_String_Format,0,0
dc.l MUIC_Group,0,MUIA_Group_Columns,2,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,0
dc.l MUIC_Text,BT_label_0,MUIA_Frame,MUIV_Frame_Button,MUIA_Text_Contents,str12,MUIA_Text_PreParse,PreParse,MUIA_Text_SetMax,FALSE
dc.l MUIA_Text_HiChar,'o',MUIA_ControlChar,'o',MUIA_InputMode,MUIV_InputModeRelVerify,MUIA_Background,MUII_ButtonBack,0
dc.l MUIC_Rectangle,0,0
dc.l MUIC_Text,BT_label_2,MUIA_Frame,MUIV_Frame_Button,MUIA_Text_Contents,str13,MUIA_Text_PreParse,PreParse,MUIA_Text_SetMax,FALSE
dc.l MUIA_Text_HiChar,'p',MUIA_ControlChar,'p',MUIA_InputMode,MUIV_InputModeRelVerify,MUIA_Background,MUII_ButtonBack,0
dc.l MUIC_Rectangle,0,0
dc.l MUIC_Text,BT_label_1,MUIA_Frame,MUIV_Frame_Button,MUIA_Text_Contents,str14,MUIA_Text_PreParse,PreParse,MUIA_Text_SetMax,FALSE
dc.l MUIA_Text_HiChar,'c',MUIA_ControlChar,'c',MUIA_InputMode,MUIV_InputModeRelVerify,MUIA_Background,MUII_ButtonBack,0
dc.l MUIC_Group,0,MUIA_Group_Horiz,1,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF
dc.l MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF
dc.l MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,0
dc.l MUIC_Group,0,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child,$8FFFFFFF,MUIA_Group_Child
dc.l 0
dc.l MUIC_Window,WI_label_0,MUIA_Window_Title,str7,MUIA_HelpNode,str8,$8FFFFFFF,MUIA_Window_RootObject,0
dc.l MUIC_Application,app,MUIA_Application_Author,str1,MUIA_Application_Base,str2,MUIA_Application_Title,str3,MUIA_Application_Version,str4
dc.l MUIA_Application_Copyright,str5,MUIA_Application_Description,str6,$8FFFFFFF,MUIA_Application_Window,0
dc.l 0
app dc.l 0
WI_label_0 dc.l 0
LV_label_0 dc.l 0
LV_label_1 dc.l 0
STR_label_0 dc.l 0
STR_label_1 dc.l 0
BT_label_0 dc.l 0
BT_label_2 dc.l 0
BT_label_1 dc.l 0
str1 dc.b 'Misoftware Computing',0
str2 dc.b 'Base',0
str3 dc.b 'FileReq',0
str4 dc.b '1.0',0
str5 dc.b 'Copyright 1994 Misoftware Computing',0
str6 dc.b 'Chooses file',0
str7 dc.b 'Choose file',0
str8 dc.b 'WI_label_0',0
str9 dc.b 'progdir:',0
str10 dc.b 'Drawer',0
str11 dc.b 'File',0
str12 dc.b ' Okay ',0
str13 dc.b 'Parent',0
str14 dc.b 'Cancel',0
erro1 dc.b "Failed to create application. MUI Error: %d",10,0
tags
library muimaster,2
exitrout cleanup
finish